#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
using namespace std;

//class Solution {
//public:
//    string addStrings(string num1, string num2) {
//        int end1 = num1.size() - 1, end2 = num2.size() - 1, next = 0;
//        string ans = "";
//        while (end1 >= 0 || end2 >= 0)
//        {
//            int sum1 = 0, sum2 = 0;
//            if (end1 >= 0)
//                sum1 = num1[end1--] - '0';
//            if (end2 >= 0)
//                sum2 = num2[end2--] - '0';
//            int ret = sum1 + sum2 + next;
//            next = ret / 10;
//            ret %= 10;
//            ans.push_back('0' + ret);
//        }
//        if (next == 1)
//            ans.push_back('0' + 1);
//        reverse(ans.begin(), ans.end());
//        return ans;
//    }
//};

//class Solution {
//public:
//    bool isPalindrome(string s) {
//        string a;
//        for (auto ch : s)
//        {
//            if (isalnum(ch))
//            {
//                a += tolower(ch);
//            }
//        }
//        string b = a;
//        reverse(b.begin(), b.end());
//        return a == b;
//    }
//};

//class Solution {
//public:
//    string reverseStr(string s, int k) {
//        for (int i = 0; i < s.size(); i += 2 * k)
//        {
//            if (i + k <= s.size())
//            {
//                reverse(s.begin() + i, s.begin() + i + k);
//                continue;
//            }
//            reverse(s.begin() + i, s.end());
//        }
//        return s;
//    }
//};

//class Solution {
//public:
//    string reverseWords(string s) {
//        size_t pos = s.find(' ', 0), posr = 0;
//        while (pos != string::npos)
//        {
//            reverse(s.begin() + posr, s.begin() + pos);
//            posr = pos + 1;
//            pos = s.find(' ', posr);
//        }
//        reverse(s.begin() + posr, s.end());
//        return s;
//    }
//};

//int main()
//{
//	string s1("978");
//	int len = s1.size();
//	s1.push_back('0');
//	s1.push_back('1');
//	cout << len << endl;
//	cout << s1 << endl;
//	return 0;
//
//}

int main()
{
    string str;
    getline(cin, str);
    size_t pos = str.rfind(' ');
    if (pos != string::npos)
    {
        cout << str.size() - pos - 1 << endl;
    }
    else {
        cout << str.size() << endl;
    }
}